﻿using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace NHibernate.Identity.Internal
{
    internal interface IEntityStore<TEntity> where TEntity : class
    {
        Task<IQueryable<TEntity>> Records();

        Task Save(TEntity item);
        Task Save(IEnumerable<TEntity> items);

        Task Delete(TEntity item);
        Task Delete(IEnumerable<TEntity> items);
    }
}